home *** CD-ROM | disk | FTP | other *** search
- ;;; -*- Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; The data in this file contains enhancments. ;;;;;
- ;;; ;;;;;
- ;;; Copyright (c) 1984,1987 by William Schelter,University of Texas ;;;;;
- ;;; All rights reserved ;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; (c) Copyright 1981 Massachusetts Institute of Technology ;;;
- ;;; GJC 10:11pm Tuesday, 14 July 1981 ;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (in-package "MAXIMA")
- (macsyma-module trprop)
-
- ;; Many macsyma extension commands, e.g. $INFIX, $TELLSIMP,
- ;; $DEFTAYLOR work by doing explicit PUTPROPS.
- ;; These META-PROP functions allow selected commands to
- ;; also output DEFPROP's when processed in the Macsyma->lisp translation.
-
- (DEFMVAR META-PROP-P NIL)
- (DEFMVAR META-PROP-L NIL)
-
- (DEFUN META-OUTPUT (FORM)
- (IF *IN-TRANSLATE-FILE* (PUSH FORM META-PROP-L))
- ;; unfortunately, MATCOM needs to see properties in order
- ;; to compose tellsimps. so eval it always.
- (EVAL FORM))
-
- (DEFMFUN META-ADD2LNC (ITEM SSYMBOL)
- (IF META-PROP-P
- (META-OUTPUT `(ADD2LNC ',ITEM ,SSYMBOL))
- (ADD2LNC ITEM (SYMBOL-VALUE SSYMBOL))))
-
- (DEFMFUN META-PUTPROP (SSYMBOL ITEM KEY)
- (IF META-PROP-P
- (PROG1 ITEM (META-OUTPUT `(DEFPROP ,SSYMBOL ,ITEM ,KEY)))
- (PUTPROP SSYMBOL ITEM KEY)))
-
- (DEFMFUN META-MPUTPROP (SSYMBOL ITEM KEY)
- (IF META-PROP-P
- (PROG1 ITEM (META-OUTPUT `(MDEFPROP ,SSYMBOL ,ITEM ,KEY)))
- (MPUTPROP SSYMBOL ITEM KEY)))
-
- (DEFMFUN META-FSET (SSYMBOL DEFINITION)
- (IF META-PROP-P
- (PROG1 DEFINITION (META-OUTPUT
- `(FSET ',SSYMBOL (coerce ',DEFINITION 'function))))
- (FSET SSYMBOL (coerce definition 'function))))
-
-